In the Internet, data transfer is executed between sites located in a geographically distributed manner, and a volume of data transmitted and received between the respective sites has been increased in recent years. It is therefore demanded to transfer data at a high speed even its volume of data transfer is large.
Site here is assumed to represent a place where one or a plurality of application servers are disposed which are capable of processing or accumulating data as shown in FIG. 11, for example.
With reference to FIG. 11, application servers 1030a to 1030d of a site 1000 are connected to an edge router 1010 located for accessing ASs (Autonomous System) 1200a and 1200b provided by an ISP (Internet Service Provider) through a multilayer switch 1020.
The site 1000 is connected to an entire Internet 1100 through the AS 1200a and AS 1200b. As shown in FIG. 11, form which allows use of ASs provided by a plurality of ISPs is referred to as multihoming.
It is assumed that at least one of application servers 1030a to 1030d should be provided and the number of the same is not limited.
Specific method of identifying such a site disposed in a geographically distributed manner as described above is an identification method on a city or nation basis, for example.
Site installation form ranges from small-size installation in which a server machine stored in a rack is disposed on a floor in a building to an Internet data center (iDC) which exclusively accommodates groups of a large number of server machines.
Specific example of high-speed data transfer between respective sites disposed in a geographically distributed manner is copying of data from a Web site issued from a contents holder or a site which hosts contents data such as moving image (also called as an origin site) to an edge site which executes delivery to an end user in a CDN (Contents Delivery Network).
Another example in a CDN is, when an edge site accessed by a contents user fails to cache contents which are desired by the contents user and whose time limit is yet to come, to transfer contents data from the above-described origin site to the edge site.
A further example is to transfer data which is dynamically generated by an origin site and which cannot be originally cached from the origin site to an edge site accessed by an end user.
In these examples, transferring data from an origin site to an edge site at a high-speed enhances bodily sensation and satisfaction of an end user.
In the Internet, when transferring data between respective sites disposed in a geographically distributed manner, it is crucial to select an optimum transfer path in order to execute high-speed data transfer.
In the past related art, however, a functionally optimum path cannot be always selected.
In the following, description will be made in order with respect to data transfer between respective sites disposed in a geographically distributed manner according to related art.
First, the Internet is structured with ASs each as a unit of a network (network operation unit) operated by an ISP, a major portal provider or the like connected with each other.
AS is a set of individual routers or end systems and has a unique number in the world allotted.
Each AS exchanges path information based on a row of AS numbers reachable to a certain IP (Internet Protocol) address prefix by using a path control protocol called BGP (Border Gateway Protocol). IP address prefix represents a set of IP addresses whose numbers are sequential.
Each AS also generates a transfer table indicating a hop (which is represented by an IP address applied to a network interface of a router or a server) to be transferred next to a certain IP address prefix based on received path information.
Connection between ASs is contracted for and executed according to business decision by an individual operator, and a form of connection between ASs mainly includes peering and transit.
Peering is connecting ASs and exchanging traffic with each other by ISPs under equal conditions. Peering enables transmission and reception basically free of charge premised on exchange of the same volume of traffic with each other.
Also in peering, each notifies the other of a group of addresses reachable to its own subordinate.
On the other hand, transit represents packet relay service provided by a certain ISP to other company in the same industry or the like. In transit, an ISP which provides packet relay service guarantees, to a customer (other company in the same industry etc.) which receives supply of the packet relay service, reachability of a packet to the entire Internet and is paid a fee from the customer according to a volume of traffic transferred between the two parties.
At present, accumulated connection relationships between ASs by the above-described peering, transit or the like establish a layered structure between operators such as Tier 1 and Tier 2 in the Internet.
Connection relationship between ASs established by peering, transit or the like gives heavy constraints on how a route between two points in the Internet is made.
In a case, for example, where a packet received by a certain AS from an AS of a peering partner is transferred to a higher AS as a provider of a transit, where a packet received from a higher AS is transferred to an AS of a peering partner or where data received from a peering partner is further sent to another peering partner, it will be considered that a packet is in practice transferred free of charge.
In order to solve the problem, a management entity of an AS usually exchanges path information by BGP according to a policy shown in the following. More specifically, the management entity of the AS notifies, to a peering partner or a provider of a transit, a path that can reach inside its own AS or in a case where itself is a transit provider, notifies only a path of its customer.
As a result, a path between two points by BGP is not always a functionally optimized path. More specifically, the number of hops of a router on a path between certain two points is not always the smallest.
For example, FIG. 12 shows a condition for transferring data from a site X using an AS1 to a site Y using an AS3. Specific example where a certain site uses a certain AS is that the site subscribes to an ISP which operates the AS.
Although a path having the smallest number of hops between the site X and the site Y is AS1→AS4→AS2→AS5→AS3, when each AS exchanges path information according to the above-described policy of exchanging path information, a selected path will be AS1→AS4→AS6→AS8→AS9→AS7→AS5→AS3 whose path length will be longer than the shortest path.
Actual example where a path length will be longer than the shortest path is shown in FIG. 3 of Non-Patent Literature 2, for example.
Shown in FIG. 3 of Non-Patent Literature 2 is a state where even between relatively close points in terms of geography, in such an area as Southeast Asia where connection between ASs by Internet Exchange or the like is not fully provided, packets are transferred via each of European and American Continents. Passing through different continents involves a large propagation delay.
Between ASs of ISPs actually having a contract for peering or transit, a path is not always notified by BGP all the time. In other words, whether to actually use a connection relationship for peering or transit might change depending on a policy of each ISP of its own. Furthermore, a contract between ISPs related to connection might be newly generated or end in some cases.
Hereinafter, a connection relationship is assumed to represent not a contract but a connection relationship which enables actual data transfer by transmission and reception of BGP.
While the foregoing is the description of data transfer according to related art between sites disposed in a geographically distributed manner, transferring data without error is an important factor in data transfer.
Therefore, used in the Internet is a TCP (Transmission Control Protocol) for transferring data of an application such as an HTTP (Hyper Text Transfer Protocol) between end systems such as a server machine or a PC of an end user without error.
In TCP, data is transferred without error by receiving and processing a response of reception confirmation of data transmitted.
Throughput at the time of data transfer by TCP depends on RTT (Round Trip Time) equivalent to a delay caused in a to-and-fro of transmission and reception or on a packet loss rate. One example is shown in Non-Patent Literature 3.
RTT includes a to-and-fro propagation delay between transmission and reception, a protocol processing delay of a packet in a device at the time of to-and-fro, a delay in transfer onto a line and the like. In a to-and-fro between transmission and reception, the same path is not always used in out-bound and in-bound.
In general, when the number of hops on the Internet is increased between transmission and reception, a packet loss rate is increased. When a link between ASs by a submarine cable connecting different continents or islands is included, RTT will be increased by a propagation delay.
An increase in a packet loss rate or an increase in RTT will decrease throughput at the time of data transfer by TCP.
Reference literatures for the above description are Non-Patent Literature 1, Literature 2 and Literature 3:
Non-Patent Literature 1: Y. Rekhter and T. Li, “A Border Gateway Protocol 4 (BGP-4)”, RFC1771, March 1995;
Non-Patent Literature 2: Jon Baggaley, Batchuluun Batpurev, and Jim Klaas, “The World-Wide Inaccessible Web, Part 2: Internet Routes”, The International Review of Research in Open and Distance Learning Vol. 8, No. 2 (2007);
Non-Patent Literature 3: J. Padhye, V. Firoiu, D. Towsley, J. Kurose, “Modeling TCP Throughput: A Simple Model and Its Empirical Validation”, Proceedings of SIGCOMM 98, 1998;
Non-Patent Literature 4: Robert Endre Tarjan, Data Structures and Network Algorithms, Society for Industrial Mathematics, Jan. 1, 1987;
Non-Patent Literature 5: Configuring Hierarchical Squid Caches (http://old.squid-cache.org/Doc/Hierarchy-Tutorial/tutorial-7.html); and
Non-Patent Literature 6: Hayim Porat, Nurit Sprecher, and Zehavit Alon, “E-NNI Registration Protocol”, http://www.ieee802.org/1/files/public/docs2009/new-porat-E-NNI-Registration-protocol-0309-v03.pdf.
In the above-described data transfer between respective sites disposed in a geographically distributed manner according to the related art, when each site independently selects and uses one usable AS from among one or a plurality of ASs, throughput in data transfer might not be improved in some cases.
The reason is that when transferring data from a certain site to another site, if there exists no connection between ASs used by the respective sites, more ASs will be involved in a path between the sites to increase the number of hops on a router basis as shown in FIG. 12, resulting in inviting an increase in RTT or packet loss opportunities to worsen throughput of TCP in some cases.